EN FR
EN FR


Section: New Results

Uniprocessor Real-time Scheduling

Participants : Laurent George, Mohamed Marouf, Daniel de Rauglaudre, Yves Sorel.

Strict periodic harmonic tasks

This year, we focused our work on scheduling of strict periodic tasks to the particular case of harmonic tasks [28] . After transforming the scheduling problem into a bin-packing problem, we performed a schedulability analysis and proposed schedulability conditions in each sub-case of harmonic tasks: we proposed a necessary and sufficient condition in the case where all tasks periods are distinct, and we proposed a sufficient condition in the case where some tasks have the same period. Finally, we proposed a scheduling algorithm based on the bin-packing problem resolution.

Combination of strict periodic and sporadic tasks

Non-preemptive strict periodic tasks are harder to schedule than preemptive ones. One can hope to extend schedulability results when combining non-preemptive strict periodic tasks with preemptive sporadic one.

We proposed in [27] a schedulability analysis for a combination of strict periodic and sporadic tasks. We considered all tasks with fixed priorities, where the highest priorities are given to strict periodic tasks and the lower priorities are given to sporadic tasks. First, we scheduled strict periodic tasks using our former scheduling algorithm. Then, we computed the critical instants which maximize the response time of a sporadic task. We proved that the critical instants are contained in the permanent phase of strict periodic tasks, and are given by the start times of strict periodic jobs in a hyper-period. We also proved that we can reduce critical instants by eliminating some of them. Then, we gave the analytic expression of the computing time W i (t) at any time t necessary for the execution of a task τ i taking in consideration all the tasks with higher priorities. That allows the computation of the response time r i by solving the equation W i (t)=r i . Therefore, for a sporadic task, if its response time r i is less of equal to its deadline for all critical instants, then this latter task is schedulable, else it is not schedulable. We proceed similarly for all sporadic tasks to prove that a tasks set is schedulable or not.

Exact cost of RTOS

It is important to determine the exact cost of the real-time operating system (RTOS) when preemptive scheduling is used for better processor utilization compared to non preemptive scheduling [43] . Indeed, in this case it is possible to trust the schedulability conditions when they include that cost, and also to avoid waste resources. This year we developed a generic RTOS modelled with Petri nets and we determined its exact cost on an ARM9 processor. We used Petri nets on the one hand to choose through simulations the best structure of that scheduler, and on the other hand to verify non blocking properties. In order to obtain its exact cost the scheduler was programmed in assembly language, and coded such as it is deterministic, i.e. its cost does not depend on alternative statements but only on the number of tasks which is known a priori. Using this RTOS we experimented simple task sets on the ARM9 processor for which we were able to include the exact RTOS cost in the schedulability conditions.

Formal proofs of real-time scheduling theorems

Scheduling involves numerous models and theorems, sometimes dated of several decades, but never formally proved. We made a formal proof in Coq (proof assistant developped at Inria) to check a classical theorem giving a schedulability condition for a set of real-time strictly periodic tasks (about 1500 lines of Coq). This work was published in a paper accepted for publication in the conference JFLA 2012.

A second proof is actually being carried now, dealling with response time of a set of fixed priority real-time preemptive tasks. The theorem states that the worst case of this response time occurs when all tasks start simultaneously. A step in the original argument by Jane W. S. Liu [55] involves the proof of a function whose fixpoint computes the response time of the first instance of the least priority task. This specific step is now formally proved in Coq (3500 lines of Coq), and we are now working on the completion of the full theorem.